package com.chinatechstar.prediction.mapper;

import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;

import com.chinatechstar.prediction.dto.PredictionPressureDTO;
import com.chinatechstar.prediction.entity.PredictionPressure;

/**
 * 数据持久接口层
 */
public interface PredictionPressureMapper {

	/**
	 * 查询所有数据
	 *
	 * @return List<PredictionPressure>
	 */
	List<PredictionPressure> findPredictionPressureAll();

	/**
	 * 根据压力和温度查询CO2密度和粘度
	 *
	 * @param formationPressure 压力
	 * @param formationTemperature 温度
	 *
	 */
	List<PredictionPressureDTO> findWellCo2Density(Double formationPressure, Double formationTemperature);

	/**
	 * 查询分页或导出数据
	 * 
	 * @param paramMap 参数Map
	 * @return List<LinkedHashMap<String, Object>>
	 */
	List<LinkedHashMap<String, Object>> findPredictionPressureByCondition(Map<String, Object> paramMap);

	/**
	 * 根据主键ID数据查询数据
	 *
	 * @param id ID
	 * @return PredictionPressure
	 */
	PredictionPressure findPredictionPressureById(Long id);

	/**
	 * 根据主键数组数据查询数据
	 *
	 * @param ids ID数组
	 * @return List<PredictionPressure>
	 */
	List<PredictionPressure> findPredictionPressureByIds(Long[] ids);

	/**
	 * 新增
	 * 
	 * @param predictionPressure 实体
	 * @return int
	 */
	int insertPredictionPressure(PredictionPressure predictionPressure);

	/**
	 * 批量新增
	 *
	 * @param predictionPressures 实体数组
	 * @return int
	 */
	int insertPredictionPressures(List<PredictionPressure> predictionPressures);

	/**
	 * 编辑
	 * 
	 * @param predictionPressure 实体
	 * @return int
	 */
	int updatePredictionPressure(PredictionPressure predictionPressure);

	/**
	 * 批量编辑
	 *
	 * @param predictionPressures 实体数组
	 * @return int
	 */
	int updatePredictionPressures(List<PredictionPressure> predictionPressures);

	/**
	 * 删除
	 * 
	 * @param id ID
	 * @return int
	 */
	int deletePredictionPressureById(Long id);

	/**
	 * 批量删除
	 *
	 * @param ids ID数组
	 * @return int
	 */
	int deletePredictionPressureByIds(Long[] ids);

	/**
	 * 软删除
	 *
	 * @param id ID
	 * @return int
	 */
	int softDeletePredictionPressureById(Long id);

	/**
	 * 批量软删除
	 *
	 * @param ids ID数组
	 * @return int
	 */
	int softDeletePredictionPressureByIds(Long[] ids);

}
